// pages/noticeDetail/index.js
var app = getApp();

Page({

  /**
   * 页面的初始数据
   */
  data: {
    info: '',

    fileType: '', // 1图片 2文档
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const eventChannel = this.getOpenerEventChannel()

    eventChannel.on('info', (res) => {
      const info = JSON.parse(res.data)

      // 解决富文本解析时，图片不能完全显示的问题
      if (info.noticeContent) {
        info.noticeContent = info.noticeContent.replace(/\<img/gi, '<img style="width:100%;height:auto;display:block;"');
      }
      this.setData({ info })

      
      // 由于小程序限制，文件并不能直接下载到本地， 
      // 1. 文档类型 pdf word 等文件直接走预览的方式打开
      // 2. 图片类型 png jpg 走另外一个方法下载或转发

      // 在此处判断文件类型 通过后缀名
      if (this.data.info.fileUrl) {
        const lastDotIndex = this.data.info.fileUrl.lastIndexOf('.')

        let type = ''
        if (lastDotIndex !== -1) {  
          type = this.data.info.fileUrl.substring(lastDotIndex + 1);  
        }

        if (['jpg', 'png'].includes(type)) {
          this.setData({ fileType: 1 })
        }

        if (['doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'pdf'].includes(type)) {
          this.setData({ fileType: 2 })
        }
      }

    })
  },

  down () {
    const that = this
    wx.downloadFile({  
      url: app.globalData.baseUrl + this.data.info.fileUrl, // 文件的下载链接  
      success: function (res) {  
        if (res.statusCode === 200) {  
          
          // console.log('文件临时路径', res.tempFilePath)  
       
          if (that.data.fileType == 1) {
            // 图片类型
            return wx.showShareImageMenu({
              path: res.tempFilePath,
              fail: function(e) {
                wx.showToast({  title: e,  icon: 'none' })
              }
            })
          }

          // 微信预览只支持以下所有类型
          if (that.data.fileType == 2) {
            // 文档类型
            return wx.openDocument({  
              filePath: res.tempFilePath,  
              fail: function (err) {  
                wx.showToast({  title: e, icon: 'none'  }) 
              }
            })
          }

          // 非以上任何类型， 以后也许会加入视频类型
          wx.showToast({
            title: '不支持的文件类型',
            icon: 'none'
          })

        }  
      },  
      fail: function (err) {  
        // 下载失败  
        console.error('下载失败', err)  
      }  
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})